home *** CD-ROM | disk | FTP | other *** search
/ Aminet 21 / Aminet 21 (1997)(GTI - Schatztruhe)[!][Oct 1997].iso / Aminet / dev / misc / gms_dev.lha / GMS / Source / C / Screens / OBJScreen.c < prev    next >
Encoding:
C/C++ Source or Header  |  1997-07-09  |  1.0 KB  |  44 lines

  1. /*
  2. ** Name:      Object Demo
  3. ** Author:    Paul Manias
  4. ** Copyright: DreamWorld Productions (c) 1997.
  5. ** SAS/C:     1> sc OBJScreen.c link startup=LIB:gms.o data=far nostackcheck
  6. **
  7. ** Doc:       Opens a screen according to the settings in an object file.  See
  8. **            GMS:Source/Asm/UsingObjects/OBJScreen.s for object definitions.
  9. **
  10. */
  11.  
  12. #include <proto/games.h>
  13.  
  14. extern struct GMSBase *GMSBase;
  15. ULONG  PREFSNAME = DEFAULT;
  16.  
  17. void main(void)
  18. {
  19.   struct GameScreen *GameScreen;
  20.   struct Picture *Picture;
  21.   APTR OBJBase;
  22.  
  23.   if (OBJBase = LoadObjectFile("GMS:demos/data/OBJ.Screen")) {
  24.    if (Picture = GetObject(OBJBase,"Picture")) {
  25.     if (LoadPic(Picture)) {
  26.      if (GameScreen = (struct GameScreen *) GetScreen()) {
  27.         CopyStructure(Picture,GameScreen);
  28.         GameScreen->MemPtr1 =    Picture->Data;
  29.         GameScreen->Attrib =     CENTRE;
  30.  
  31.         if (AddScreen(GameScreen)) {
  32.            ShowScreen(GameScreen);
  33.            WaitLMB();
  34.         }
  35.      DeleteScreen(GameScreen);
  36.      }
  37.     FreePic(Picture);
  38.     }
  39.    }
  40.   FreeObjectFile(OBJBase);
  41.   }
  42. }
  43.  
  44.